Systems and associated methods for controllably cooling computer components

ABSTRACT

Computer systems and associated methods for cooling computer components are disclosed herein. One embodiment of a computer system includes a computer cabinet having an air inlet spaced apart from an air outlet. The computer system also includes heat exchangers positioned in the computer cabinet, and a heat removal system in fluid communication with the heat exchangers. The computer system additionally includes at least one sensor for monitoring heat transfer between the computer cabinet and the room. The computer system further includes a control system operatively coupled to the at least one sensor, the control system including a computer-readable medium holding instructions for determining whether heat transfer between the computer cabinet and the room is balanced based on information from the sensor, and if not, adjusting a parameter to balance the heat transfer.

CROSS-REFERENCE TO RELATED APPLICATION(S)

This application is a continuation of U.S. patent Ser. No. 13/438,735 filed Apr. 3, 2012, entitled “SYSTEMS AND ASSOCIATED METHODS FOR CONTROLLABLY COOLING COMPUTER COMPONENTS,” which is a continuation of U.S. patent application Ser. No. 12/029,124 filed Feb. 11, 2008, now U.S. Pat. No. 8,170,724, entitled “SYSTEMS AND ASSOCIATED METHODS FOR CONTROLLABLY COOLING COMPUTER COMPONENTS,” each of which is incorporated herein by reference in its entirety.

TECHNICAL FIELD

The present disclosure relates generally to cooling systems and related methods for controllably cooling computer components.

BACKGROUND

Supercomputers and other large computer systems typically include a large number of computer modules housed in cabinets arranged in banks. The computer modules are typically positioned in close proximity to each other. In operation, the modules can generate considerable heat, and the close proximity of the modules can make dissipating the heat difficult. If not dissipated, the heat can damage the modules or significantly reduce system performance.

One conventional technique for computer module cooling includes drawing cooling air into the cabinet to cool the computer modules, and discharging the heated cooling air to the room. Typically, the heat transfer between the cooling air and the computer modules is uncontrolled. This can reduce cooling efficiency and the performance of the computer modules. Accordingly, there is a need to effectively dissipate heat generated by computer modules during operation.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a partially schematic elevation view of a computer system having an air temperature control system configured in accordance with an embodiment of the invention.

FIG. 2 is a functional diagram showing software modules configured in accordance with an embodiment of the invention for controlling the air temperature control system of FIG. 1.

FIG. 3 is a block diagram illustrating a process module suitable for use in the air temperature control system of FIG. 2.

FIG. 4 is a flow chart illustrating a method for cooling a computer system in accordance with an embodiment of the invention.

FIG. 5 is a flow chart illustrating a method of closing valves in the air temperature control system of FIG. 1, suitable for use in the method of FIG. 4.

FIG. 6 is a flow chart illustrating a method of opening valves in the air temperature control system of FIG. 1, suitable for use in the method of FIG. 4.

DETAILED DESCRIPTION

The following disclosure describes several embodiments of cooling systems for use with computers and other systems. Several other embodiments of the invention can have different configurations, components, or procedures than those described in this section. A person of ordinary skill in the art, therefore, will accordingly understand that the invention can have other embodiments with additional elements, or the invention can have other embodiments without several of the features shown and described below with reference to FIGS. 1-6.

FIG. 1 is a partially schematic elevation view of a computer system 100 having an air temperature control system 108 configured in accordance with an embodiment of the invention. The computer system 100 can include a computer cabinet 102 in a room 101 and coolant lines 106 (identified individually as a supply line 106 a and a return line 106 b) connecting the computer cabinet 102 to a heat removal system 104. In the illustrated embodiment, the heat removal system 104 is situated in the room 101 and spaced apart from the computer cabinet 102. In other embodiments, however, the heat removal system 104 can be integrated into the computer cabinet 102, positioned outside the room 101, or situated in other suitable places.

The computer cabinet 102 can include an air inlet 114 for receiving cooling air from the room 101, an air outlet 116 for discharging air to the room 101, and a plurality of computer module compartments 120 a-c arranged vertically between the air inlet 114 and the air outlet 116 in a chassis 110. Individual compartments 120 a-c can hold a plurality of computer modules 112 oriented edgewise with respect to a flow of the cooling air through the chassis 110.

The computer cabinet 102 can also include a plurality of heat exchangers 118 a-d in the chassis 110. As described in greater detail below, individual heat exchangers 118 a-d can be configured to receive working fluid (not shown) from the heat removal system 104 via the supply line 106 a. After flowing through the heat exchangers 118 a-d, the working fluid returns to the heat removal system 104 via the return line 106 b. The working fluid can include hydrofluorocarbons, hydrochlorofluorocarbons, chlorofluorocarbons, ammonia, and/or other suitable refrigerants. The working fluid can be a vapor phase fluid, a liquid phase fluid, or a two-phase fluid when flowing through the heat exchangers 118 a-d.

The computer cabinet 102 can additionally include an air mover 130 (e.g., a fan) positioned proximate to the air inlet 114 to facilitate movement of the cooling air through the chassis 110 in an air flow path 117. The air mover 130 can draw air from the room 101 into the chassis 110 through the air inlet 114. The air then flows through the chassis 110 past the computer modules 112 and exits the chassis 110 via the air outlet 116. In the illustrated embodiment, the air mover 130 is operatively coupled to a speed drive 132. In other embodiments, the speed drive 132 can be omitted.

The heat removal system 104 can include a pump 124 in fluid communication with a condenser 122. The condenser 122 can be a shell-and-tube type heat exchanger, a plate-and-frame type heat exchanger, or other suitable type of heat exchanger known in the art. The condenser 122 can include a working fluid inlet 126 a for receiving heated working fluid returning from the computer cabinet 102, and a working fluid outlet 126 b for supplying cooled working fluid to the pump 124. The condenser 122 can also include a coolant inlet 128 a and a coolant outlet 128 b for circulating chilled water, cooling water, or other suitable coolant (not shown) to cool the working fluid. The pump 124 can include a positive displacement pump, a centrifugal pump, or other suitable type of pump for circulating the working fluid back to the heat exchangers 118 a-d via the supply line 106 a.

The air temperature control system 108 (“control system 108”) is configured to controllably cool the computer cabinet 102. The control system 108 can include an air inlet temperature sensor 134 positioned at or near the air inlet 114, compartment temperature sensors 136 a-c positioned in the individual compartments 120 a-c, respectively, module temperature sensors 121 positioned at individual computer modules 112 (only one is shown for purposes of illustration), and an air outlet temperature sensor 138 positioned at the air outlet 116. The control system 108 can also include a room temperature sensor 137, a working fluid temperature sensor 142 positioned at or near the discharge of the pump 124, and a coolant temperature sensor 140 positioned upstream of the coolant inlet 128 a. The foregoing temperature sensors can include thermocouples, resistive temperature detectors, and/or other types of suitable temperature sensors known in the art. Although not shown in detail, the control system 108 can also include pressure sensors, flow rate sensors, humidity sensors, and/or other types of suitable sensors for detecting various operational parameters of the control system 108.

The control system 108 can also include a plurality of valves (e.g., block valves 144 a-d and optional modulating valves 146 a-d) on individual branches of the supply line 106 a corresponding to the heat exchangers 118 a-d. The block valves 144 a-d can include solenoid valves or other suitable valves for allowing, stopping, or otherwise controlling the flow of working fluid to the individual heat exchangers 118 a-d. The block valves 144 a-d can also include positional switches that indicate the current state (i.e., open/close) of the corresponding block valves 144 a-d to a processor 147. The modulating valves 146 a-d can include globe valves, butterfly valves, ball valves, and/or other types of valves with corresponding actuators. The modulating valves 146 a-d can have a liner flow characteristic, an equal-percentage flow characteristic, a parabolic flow characteristic, or other flow characteristics to control the flow rate of the working fluid supplied to the individual heat exchangers 118 a-d.

The processor 147 can be operatively coupled to the temperature sensors 121, 134, 136 a-c, 137, 138, 140, and 142, the block valves 144 a-d, and the modulating valves 146 a-d. The processor 147 can include a process logic controller, a system logic controller, or any other suitable logic controller. The control system 108 can optionally include a display 148 operatively coupled to the processor 147 for receiving operator input and/or outputting process parameters to an operator.

In operation, the air mover 130 draws air into the chassis 110 through the air inlet 114. The first heat exchanger 118 a then cools the heated air before the air flows into the first compartment 120 a. As the air flows through the first compartment 120 a, the computer modules 112 in the first compartment 120 a transfer heat to the air. The second heat exchanger 118 b then cools the air before the air passes into the second compartment 120 b by transferring heat from the air into the working fluid. The air is similarly inter-cooled by the third heat exchanger 118 c before flowing into the third compartment 120 c. The fourth heat exchanger 118 d then cools the heated air leaving the third compartment 120 c before the air is discharged to the room 101 via the air outlet 116.

In one embodiment, the working fluid is in phase transition between a liquid and a vapor when the working fluid leaves the heat exchangers 118 a-d. In other embodiments, the working fluid can have other phase conditions at this time. The heated working fluid from the heat exchangers 118 a-d returns to the condenser 122 via the return line 106 b. The coolant in the condenser 122 cools the working fluid before the pump 124 circulates the working fluid back to the heat exchangers 118 a-d.

In operation, the temperature sensors can monitor heat transfer between the computer cabinet 102 and the room 101. For example, the air inlet temperature sensor 134 can measure a temperature of the air flowing into the chassis 110 (T_(IN)), and the air outlet temperature sensor 138 can measure a temperature of the air flowing out of the chassis 110 (T_(OUT)). T_(IN) and T_(OUT) can be transmitted to the processor 147 to determine whether heat transfer between the computer cabinet 102 and the room 101 is balanced. As described in greater detail below, if not, the processor 147 can adjust a process parameter such that the imbalance is at least reduced.

In one embodiment, the processor 147 can calculate a temperature differential (ΔT) between the inlet temperature and outlet temperature as follows: ΔT=T _(IN) −T _(OUT) If ΔT is greater than a first threshold (ΔT₁) for a period of time, then the processor 147 can cause one of the block valves 144 a-d to at least partially close. For example, if the fourth block valve 144 d is open, then the processor 147 can close the fourth block valve 144 d and stop the flow of working fluid to the fourth heat exchanger 118 d. Consequently, the air discharged from the computer cabinet 102 to the room 101 will be at a higher temperature than before because the air leaving the third compartment 120 c is not cooled, or is less cooled, by the working fluid. If the fourth block valve 144 d is closed, the processor 147 can check another block valve, e.g., the third block valve 144 c, for closure.

If ΔT is still above the first threshold ΔT₁ after closing one of the block valves 144 a-d for a period of time, the processor 147 can cause another block valve to close until ΔT is lower than ΔT₁, or until all the block valves 144 a-d are closed.

If ΔT is less than a second threshold (ΔT₂), where ΔT₂ is less than ΔT₁, for a period of time, then the processor 147 can transmit an electrical signal to cause one of the block valves 144 a-d to open. For example, if the first block valve 144 a is open and the others are closed, then the processor 147 can cause the second block valve 144 b to open. If ΔT is still less than the second threshold ΔT₂ after a period of time, then the processor 147 can cause the third block valve to open. This process can be repeated until ΔT is greater than the second threshold ΔT₂, or until all of the block valves 144 a-d are open.

If ΔT is greater than ΔT₂ but less than ΔT₁, the processor 147 can modulate a process parameter to move ΔT is equal toward a desired temperature differential (e.g., zero). For example, in one embodiment, the processor 147 can vary the speed of the air mover 130 by adjusting the output of the speed drive 132. In another embodiment, the processor 147 can modulate the optional modulating valves 146 a-d. For example, the fourth modulating valve 146 d can be modulated using a proportional-integral-differential (PID) controller with ΔT as a process variable.

Several embodiments of the control system 108 can reduce the risk of overloading the heat removal system 104 by balancing the temperature between the computer cabinet 102 and the room 101. For example, in one embodiment, the air outlet temperature T_(OUT) can be at least close to the room temperature (e.g., 32° C.). In conventional cooling systems, as the room temperature increases, the cooling load on the first heat exchanger 118 a increases to compensate for the increased heat flux. Meanwhile, the cooling loads on the other heat exchangers 118 b-d stay relatively constant because they only remove the heat generated by the computer modules 112. As a result, the air discharged into the room 101 can be at a lower temperature than the air flowing into the computer cabinet 102 because of the greater temperature drops at the first heat exchanger 118 a. The increased load at the first heat exchanger 118 a can potentially overload the heat removal system 104 and reduce the cooling efficiency of the heat exchangers 118 b-d. Thus, the cooling loads on the individual heat exchangers 118 a-d can be controlled by modulating the optional modulating valves 146 a-d and/or the air mover 130, and by selectively closing/opening the block valves 144 a-d, thereby preventing an overload of the heat removal system 104.

Although the control system 108 described above uses the temperature differential ΔT calculated by subtracting the air outlet temperature T_(OUT) from the air inlet temperature T_(IN), in other embodiments, a temperature differential calculated by subtracting the air inlet temperature T_(IN) from the air outlet temperature T_(OUT) can also be used. Moreover, other process parameters can also be used for controllably cooling the computer system 100. For example, the control system 108 can also use the compartment temperature(s), the computer module temperature(s), the room temperature, the working fluid temperature(s), the coolant temperature(s), and/or other suitable process parameters. In other embodiments, the processor 147 can also modulate the optional modulating valves 146 a-d based on the individual compartment temperature(s), the computer module temperature(s), and/or other parameters. Even though only one computer module temperature sensor is shown in FIG. 1, in other embodiments, the control system 108 can include any desired number of computer module temperature sensors.

In any of the foregoing embodiments, certain interlock conditions can override the control actions of the processor 147. For example, if one of the compartment temperature sensors 136 a-c or the computer module sensor 121 indicates a temperature that exceeds a threshold, the processor 147 can force the block valves 144 a-d to open irrespective of the current temperature differential ΔT. Other interlock conditions can include high room temperature, high working fluid temperature, high coolant temperature, and/or other threshold conditions.

Only a single computer cabinet 102 is shown in FIG. 1 for purposes of illustration and ease of reference. In other embodiments, however, supercomputers and other large computer systems can include a plurality of computer cabinets arranged in banks or other configurations. In such embodiments, the heat removal system 104 can provide working fluid to one or more of the computer cabinets 102 via an appropriately configured piping circuit. Further, although the heat exchangers 118 a-d have been described above in the context of working fluid-type heat exchangers, in other embodiments, other types of heat exchangers can be used to inter-cool the air moving through the compartments 120 without departing from the spirit or scope of the present invention. One example is disclosed in U.S. patent application Ser. No. 10/805,875, filed Mar. 22, 2004, the disclosure of which is incorporated herein in its entirety.

FIG. 2 illustrates a functional diagram showing software modules suitable for use in the processor 147 of FIG. 1. Each component can be a computer program, procedure, or process written as source code in a conventional programming language, such as the C++ programming language, and can be presented for execution by the processor 147. In another embodiment, the software modules can be presented for execution by the CPU of a network server in a distributed computing scheme. The various implementations of the source instructions and object and byte instructions can be stored on a computer-readable storage medium or embodied on a transmission medium in a carrier wave. In the illustrated embodiment, the modules include an input module 162, a database module 164, a process module 166, an output module 168, and optionally, a display module 170. In other embodiments, the modules can also include a network module and/or other modules.

In operation, the input module 162 accepts operating input from an operator and communicates the accepted information or selections to other components for further processing. For example, the input module 162 can accept a temperature differential setpoint and/or other process setpoints from an operator. The input module 162 can also accept start/stop commands for the air mover 130 (FIG. 1), open/close commands for the individual block valves 144 a-d (FIG. 1), and/or other control selections.

The database module 164 organizes records, including operating parameters 182, operator activities 184, and alarms 186, and facilitates storing and retrieving these records to and from a database 180. Any type of database organization can be utilized, including a flat file system, hierarchical database, relational database, or distributed database, such as provided by a database vendor such as the Oracle Corporation of Redwood Shores, Calif.

The process module 166 can generate control signals based on input signals 172, e.g., operator input, and/or internal components (e.g., a clock, a sequencer, timers, counters, PID control loops, etc.), as described in more detail below with reference to FIG. 4. The output module 168 can generate output signals 174 based on the control signals from the process module 166. For example, the output module 168 can convert the control signals into 4-20 mA output signals 174 suitable for controlling the modulating valves 146 a-d (FIG. 1), or into discrete signals for actuating the block valves 144 a-d. The processor 147 can optionally include the display module 170 for displaying, printing, or downloading the input signals 172 and output signals 174 via devices such as the display 148 (FIG. 1). A suitable display module 170 can include a video driver that enables the processor 147 to output the input signals 172 on the display 148.

FIG. 3 is a block diagram showing an embodiment of the process module 166 of FIG. 2. The process module 166 can include a sensing module 188, a calculation module 190, an alarm module 192, a control module 194, and an interlock module 196 interconnected to each other. The individual modules can include computer programs, procedures, or routines written as source instructions in conventional programming languages, or one or more of the modules can include hardware modules.

The sensing module 188 can receive and convert the input signals 172 into parameters in desired units. For example, the sensing module 188 can receive the input 172 as electrical signals (e.g., as 4-20 mA analog signals) and convert the electrical signals into instant temperatures in, e.g., Celsius. The sensing module 188 can include various routines, such as linear interpolation, logarithmic interpolation, data mapping, and/or other routines to associate the input 172 with parameters in desired units.

The calculation module 190 can perform addition, subtraction, multiplication, quotient, integration, differentiation, and other types of calculations to facilitate operation of the other modules. For example, the calculation module 190 can derive the temperature differential ΔT based on the sensed air inlet temperature and air outlet temperature.

The alarm module 192 can generate alarms based on output from the calculation module 190 and/or the sensing module 188. For example, the alarm module 192 can compare the temperature differential ΔT determined by the calculation module 190 to a threshold value. If the average temperature exceeds the threshold value, the alarm module 192 can issue an alarm by raising a flag or by providing some other type of response. In response to the alarm flag, the display 148 (FIG. 1) can issue a notification by displaying a flashing message, sounding a horn, turning on a warning light, and/or providing another visual, tactile, and/or audible indicator.

The control module 194 can generate the output signals 174 for modulating the modulating valves 146 a-d and/or closing/opening the block valves 144 a-d. The control module 194 can include comparators, PID loops, timers, counters, and/or other logic modules for generating control variables. For example, the control module 194 can include a comparator that compares the calculated temperature differential ΔT to a threshold value and generates an output signal based on the results of the comparison.

The interlock module 196 can continuously monitor operating parameters received from the sensing module 188 and/or the calculation module 190, and the interlock module 196 can interrupt operation of the control module 194 when the operating parameters exceed certain threshold values. For example, the interlock module 196 can cause the control module 194 to terminate operation (i.e., have zero output value) when the compartment temperatures from the calculation module 190 exceed a preset threshold value.

FIG. 4 is a flow chart illustrating a method 200 for cooling a computer system in accordance with an embodiment of the invention. The method 200 can be implemented as a computer program for the processor 147 of FIGS. 1 and 2, or can be carried out manually. The method 200 is described below in the context of the computer system 100 of FIG. 1 for purposes of illustration. Those of ordinary skill in the art will understand, however, that the method 200 can also be performed in other computer systems having similar or different configurations.

Referring to FIGS. 1 and 4 together, the method 200 can include suitable sensors for measuring process variables of the computer system 100 (block 202). The process variables can include the room temperature, the air inlet temperature, the air outlet temperature, the compartment temperature(s), the working fluid temperature(s), the coolant temperature(s), and/or other temperatures. The process variables can also include the current status of the block valves 144 a-d, the optional modulating valves 146 a-d, the pump 124, the air mover 130, and/or other equipment of the computer system 100. The process variables can further include various pressures (e.g., the discharge pressure of the pump 124), flow rates (e.g., the air flow rate in the chassis 110), and/or other parameters.

The method 200 can further include calculating derived parameters from the measured process variables (block 204). For example, the air temperature differential ΔT of the computer cabinet 102 can be calculated by subtracting the air outlet temperature T_(OUT) from the air inlet temperature T_(IN). In another example, an average temperature can be calculated based on the measured temperatures over a period of time according to the following formula:

$T_{avg} = \frac{\Sigma\; T_{i}}{N}$ where T_(i) is a measured temperature, T_(avg) is the average temperature, and N is the number of temperature records. Other averaging techniques, such as an exponential moving average, can also be used. In yet another example, a rate of change for the measured temperatures can be calculated according to the following formula:

$\frac{d\; T}{d\; t} \approx \frac{T_{i + 1} - T_{i}}{\Delta\; t}$ where T_(i+1) is the temperature record number i+1, T_(i) is the previous temperature record, and Δt is the time difference between the two temperature records. In further examples, calculating derived parameters can also include applying accumulation, integration, differentiation, and/or other types of data processing techniques to the measured process variables.

The method 200 can include checking for interlock conditions (block 206). The interlock conditions can include those indicating an unsafe or undesired operating state. For example, the following is a non-exhaustive list of interlock conditions:

-   -   (1) At least one of the measured compartment temperatures         exceeds a maximum temperature threshold (e.g., about 40° C. to         about 45° C.).     -   (2) The computer module temperature exceeds a maximum         temperature threshold (e.g., about 45° C.).     -   (3) The room temperature exceeds a maximum temperature threshold         (e.g., about 32° C.).     -   (4) The working fluid temperature exceeds a maximum temperature         threshold (e.g., about 25° C.).     -   (5) The coolant temperature exceeds a maximum temperature         threshold (e.g., about 20° C.).

If any interlock condition exists, then the process enters an interlock mode (block 208). In the interlock mode, the processor 147 can command all of the block valves 144 a-d to open and the optional modulating valves 146 a-d and the speed drive 132 to be at 100% output. As a result, a maximum amount of the working fluid is supplied to the heat exchangers 118 a-d, and the air mover 130 is operating at full speed (e.g., 1800 rpm). The processor 147 can also issue an alarm via the display 148 and/or perform other control actions to alert an operator of the interlock mode. After entering the interlock mode, the method 200 reverts to measuring process variables at block 202.

If no interlock condition exists, the method 200 continues to check whether one or more of the block valves 144 a-d should be closed (block 210). The conditions for closing one or more of the block valves 144 a-d can include those indicating a temperature imbalance in the computer cabinet 102 with respect to the room 101, and/or overload of the heat removal system 104. For example, the following is a non-exhaustive list of such conditions:

-   -   (1) The temperature differential ΔT is greater than the first         threshold ΔT₁ for a preset period of time (e.g., 1 minute).     -   (2) The working fluid temperature exceeds a maximum temperature         threshold (e.g., about 20° C.).     -   (3) The pump 124 is cavitating.         If such a condition exists, then the processor 147 can close one         of the block valves 144 a-d (block 212), as described in more         detail below with reference to FIG. 5. Next, the method 200         reverts to measuring process variables at block 202.

If no valve closing conditions exist, the method 200 proceeds to check whether one of the block valves 144 a-d should be open (block 214). The conditions for opening one of the block valves 144 a-d can include those indicating insufficient cooling in the computer cabinet 102. For example, the following is a non-exhaustive list of such conditions:

-   -   (1) At least one of the measured compartment temperatures         exceeds a maximum temperature threshold (e.g., about 35° C.).     -   (2) The air outlet temperature exceeds a maximum temperature         threshold (e.g., about 32° C.).     -   (3) The working fluid temperature exceeds a minimum temperature         threshold (e.g., about 15° C.).         If one or more of these conditions exist, then the processor 147         can open one or more of the block valves 144 a-d (block 216), as         described in more detail below with reference to FIG. 6. Next,         the method 200 reverts to measuring process variables at block         202.

If no valve opening conditions exist, the method 200 proceeds to enter a modulating mode (block 218). In the modulating mode, the processor 147 can modulate various components of the computer system 100 to achieve a temperature balance between the computer cabinet 102 and the room 101, and/or to achieve another result. In one embodiment, the processor 147 can modulate the speed of the air mover 130 by using a PID loop to vary the output of the speed drive 132. In another embodiment, the processor 147 can modulate at least one of the optional modulating valves 146 a-d by using a PID loop to vary the output to the modulating valves 146 a-d.

The method 200 can further include determining whether to continue the process (block 220). The determination can be made based on, for example, whether the computer system 100 is operating, or some other operating conditions. If not, the process ends; otherwise, the method 200 reverts to measuring process variables at block 202.

Several embodiments of the method 200 can improve computer system cooling over conventional techniques. With conventional techniques, the heat transfer between the working fluid and the cooling air at the heat exchangers is generally uncontrolled. As a result, when at least one of the process parameters starts to vary, the heat exchanging performance may suffer. For example, with conventional techniques, the flow rate of the working fluid cannot be easily adjusted to compensate for increases in cooling air temperature and/or flow rate. As a result, the cooling air flowing into individual compartments may be at elevated temperatures, which may reduce the performance of the computer modules in the compartments. Thus, improved performance of the computer system can be achieved by monitoring and actively controlling the cooling process in the computer system.

FIG. 5 is a flow chart illustrating a method 212 of sequentially closing valves in a computer system in accordance with an embodiment of the invention. The method 212 can be used in the method 200 of FIG. 4. For purposes of illustration, in this example and in other examples, valves are numbered from 1 to N (an integer greater than 1) with valve No. 1 being proximate to the air inlet and valve N being proximate to the air outlet. Other numbering conventions can also be used.

The method 212 can include initiating a counter i with an initial value of N (block 222). Using the computer system 100 of FIG. 1 as an example, the initialized value of i would be 4 because there are four block valves in the computer system 100. The method 212 can also include checking whether valve i is closed (block 224) by monitoring a position switch operatively coupled to valve i, monitoring the current output to valve i, monitoring a flow rate of the working fluid passing valve i, and/or by utilizing other techniques. If valve i is open, then the method 212 continues to close valve i (block 226). If valve i is closed, the method 212 continues to set i=i−1 (block 228). The method 212 then determines whether i is greater than 1 (block 230). If yes, then the process reverts to block 224; otherwise, the process returns.

FIG. 6 is a flow chart illustrating a method 216 of opening valves in a computer system in accordance with an embodiment of the invention. The method 216 can be used in the method 200 of FIG. 4. The method 216 can include initiating a counter i with an initial value of 1 (block 232). The method 216 can also include checking whether valve number i is open (block 234). If valve i is closed, then the method 216 proceeds to open valve i (block 236). If valve i is open, the method 216 proceeds to set i=i+1 (block 238). The method 216 then determines whether i is less than N (block 240). If yes, then the process reverts to block 234; otherwise, the process returns.

From the foregoing, it will be appreciated that specific embodiments of the invention have been described herein for purposes of illustration, but that various modifications may be made without deviating from the spirit and scope of the invention. Further, while advantages associated with certain embodiments of the invention have been described in the context of those embodiments, other embodiments may also exhibit such advantages, and not all embodiments need necessarily exhibit such advantages to fall within the scope of the invention. Accordingly, the invention is not limited, except as by the appended claims. 

We claim:
 1. A computer system, comprising: a computer cabinet having an air inlet spaced apart from an air outlet; an air mover for moving cooling air through the computer cabinet along an air flow path from the air inlet to the air outlet; a first heat exchanger positioned in the air flow path; a second heat exchanger positioned in the air flow path and spaced apart from the first heat exchanger; at least a first computer module compartment positioned in the air flow path between the first and second heat exchangers; a heat removal system in fluid communication with the first and second heat exchangers; and a control system having a computer-readable medium containing instructions for independently controlling circulation of working fluid between the heat removal system and the first and second heat exchangers by a method including— comparing a temperature of the air proximate the air inlet to a temperature of the air proximate the air outlet; and based on the comparison of the air temperature proximate the air inlet to the air temperature proximate the air outlet, altering the flow of working fluid to one of the first and second heat exchangers while maintaining the flow of working fluid to the other of the first and second heat exchangers.
 2. The computer system of claim 1 wherein the first heat exchanger is positioned upstream of the first computer module compartment in the air flow path and the second heat exchanger is positioned downstream of the first computer module compartment in the air flow path, and wherein if the air temperature proximate the air inlet exceeds the air temperature proximate the air outlet by more than a threshold, then altering the flow of working fluid to one of the first and second heat exchangers includes reducing the flow of working fluid to the second heat exchanger while maintaining the flow of working fluid to the first heat exchanger.
 3. The computer system of claim 1, wherein comparing the temperature includes comparing the temperature of the air proximate the air inlet to the temperature of the air proximate the air outlet at a first time, wherein altering the flow of working fluid includes altering the flow of working fluid to one of the first and second heat exchangers, while maintaining the flow of working fluid to the other of the first and second heat exchangers, based on the air temperature comparison at the first time, and wherein the method for independently controlling circulation of working fluid between the heat removal system and the first and second heat exchangers further includes— comparing the temperature of the air proximate the air inlet to the temperature of the air proximate the air outlet at a second time, after the first time, and based on the temperature comparison at the second time, altering the flow of working fluid to the other of the first and second heat exchangers.
 4. The computer system of claim 1: wherein the first heat exchanger is positioned upstream of the first computer module compartment in the air flow path, wherein the second heat exchanger is positioned downstream of the first computer module compartment in the air flow path, wherein comparing the temperature includes comparing the temperature of the air proximate the air inlet to the temperature of the air proximate the air outlet at a first time, wherein altering the flow of working fluid includes reducing the flow of working fluid to the second heat exchanger, while maintaining the flow of working fluid to the first heat exchanger, if the air temperature proximate the air inlet exceeds the air temperature proximate the air outlet by more than a threshold at the first time, and wherein the method for independently controlling circulation of working fluid between the heat removal system and the first and second heat exchangers further includes— comparing the temperature of the air proximate the air inlet to the temperature of the air proximate the air outlet at a second time, after the first time, and reducing the flow of working fluid to the first heat exchanger if the air temperature proximate the air inlet exceeds the air temperature proximate the air outlet by more than the threshold at the second time.
 5. The computer system of claim 1 wherein comparing the temperature of the air proximate the air inlet to the temperature of the air proximate the air outlet includes calculating a temperature differential according to the following formula: ΔT=T _(IN) −T _(OUT) where ΔT is the temperature differential, T_(IN) is the air inlet temperature, and T_(OUT) is the air outlet temperature.
 6. The computer system of claim 5 wherein altering the flow of working fluid to one of the first and second heat exchangers includes reducing the flow of working fluid if the temperature differential exceeds a threshold.
 7. The computer system of claim 5 wherein altering the flow of working fluid to one of the first and second heat exchangers includes increasing the flow of working fluid if the temperature differential is less than a threshold.
 8. The computer system of claim 1: wherein the first heat exchanger is positioned upstream of the first computer module compartment in the air flow path, wherein the second heat exchanger is positioned downstream of the first computer module compartment in the air flow path, wherein comparing the temperature of the air proximate the air inlet to the temperature of the air proximate the air outlet includes calculating a temperature differential at a first time according to the following formula: ΔT=T _(IN) −T _(OUT) where ΔT is the temperature differential, T_(IN) is the air inlet temperature, and T_(OUT) is the air outlet temperature, and wherein altering the flow of working fluid to one of the first and second heat exchangers includes reducing the flow of working fluid to the second heat exchanger if the calculated temperature differential is greater than a threshold.
 9. The computer system of claim 1: wherein comparing the temperature of the air proximate the air inlet to the temperature of the air proximate the air outlet includes calculating a temperature differential at a first time according to the following formula: ΔT=T _(IN) −T _(OUT) where ΔT is the temperature differential, T_(IN) is the air inlet temperature, and T_(OUT) is the air outlet temperature, wherein altering the flow of working fluid includes altering the flow of working fluid to one of the first and second heat exchangers, while maintaining the flow of working fluid to the other of the first and second heat exchangers, if the calculated temperature differential is greater than a threshold at the first time, and wherein the method for independently controlling circulation of working fluid between the heat removal system and the first and second heat exchangers further includes— calculating the temperature differential at a second time, after the first time, and altering the flow of working fluid to the other of the first and second heat exchangers if the calculated temperature differential is greater than the threshold at the second time.
 10. The computer system of claim 1: wherein the first heat exchanger is positioned upstream of the first computer module compartment in the air flow path, wherein the second heat exchanger is positioned downstream of the first computer module compartment in the air flow path, wherein comparing the temperature of the air proximate the air inlet to the temperature of the air proximate the air outlet includes calculating a temperature differential at a first time according to the following formula: ΔT=T _(IN) −T _(OUT) where ΔT is the temperature differential, T_(IN) is the air inlet temperature, and T_(OUT) is the air outlet temperature, wherein altering the flow of working fluid to one of the first and second heat exchangers includes reducing the flow of working fluid to the second heat exchanger if the calculated temperature differential is greater than a threshold at the first time, and wherein the method for independently controlling circulation of working fluid between the heat removal system and the first and second heat exchangers further includes— calculating the temperature differential at a second time, after the first time, and reducing the flow of working fluid to the first heat exchanger if the calculated temperature differential is greater than the threshold at the second time.
 11. The computer system of claim 1: wherein comparing the temperature of the air proximate the air inlet to the temperature of the air proximate the air outlet includes calculating a temperature differential according to the following formula: ΔT=T _(IN) −T _(OUT) where ΔT is the temperature differential, T_(IN) is the air inlet temperature, and T_(OUT) is the air outlet temperature, wherein the control system further includes— a first valve in a first working fluid conduit corresponding to the first heat exchanger; and a second valve in a second working fluid conduit corresponding to the second heat exchanger, and wherein altering the flow of working fluid includes closing one of the first and second valves while maintaining the other of the first and second valves in an open position if the calculated temperature differential is greater than a threshold.
 12. The computer system of claim 1: wherein comparing the temperature of the air proximate the air inlet to the temperature of the air proximate the air outlet includes calculating a temperature differential according to the following formula: ΔT=T _(IN) −T _(OUT) where ΔT is the temperature differential, T_(IN) is the air inlet temperature, and T_(OUT) is the air outlet temperature, wherein the control system further includes— a first valve in a first working fluid conduit corresponding to the first heat exchanger; and a second valve in a second working fluid conduit corresponding to the second heat exchanger, and wherein altering the flow of working fluid includes opening one of the first and second valves while maintaining a position of the other of the first and second valves if the calculated temperature differential is less than a threshold.
 13. The computer system of claim 1 wherein the first computer module compartment holds a plurality of computer modules oriented edgewise with respect to the air flow path through the computer cabinet.
 14. The computer system of claim 1, further comprising: a first temperature sensor positioned proximate to the air inlet for measuring the temperature of the air proximate the air inlet; and a second temperature sensor positioned proximate to the air outlet for measuring the temperature of the air proximate the air outlet.
 15. The computer system of claim 1 wherein the air mover is positioned in the computer cabinet.
 16. The computer system of claim 1 wherein the computer-readable medium further includes instructions for adjusting a speed of the air mover based on the comparison of the temperature of the air proximate the air inlet to the temperature of the air proximate the air outlet.
 17. A method for cooling computer modules in a computer cabinet, the method comprising: moving a flow of cooling air through the computer cabinet along an air flow path from an air inlet to an air outlet, wherein the computer cabinet contains: a first heat exchanger positioned in the air flow path; a second heat exchanger positioned in the air flow path and spaced apart from the first heat exchanger; and at least a first computer module compartment positioned in the air flow path between the first and second heat exchangers, wherein the first computer module compartment holds a plurality of computer modules; circulating working fluid through the first and second heat exchangers; at a first time, determining a first temperature differential between the air flowing into the computer cabinet through the air inlet and the air flowing out of the computer cabinet through the air outlet; reducing the flow of working fluid to one of the first and second heat exchangers, while maintaining the flow of working fluid to the other of the first and second heat exchangers, if the first temperature differential is greater than a threshold at the first time; at a second time after the first time, determining a second temperature differential between the air flowing into the computer cabinet through the air inlet and the air flowing out of the computer cabinet through the air outlet; and reducing the flow of working fluid to the other of the first and second heat exchangers if the second temperature differential is greater than the threshold at the second time.
 18. The method of claim 17, further comprising: increasing the flow of working fluid to one of the first and second heat exchangers, while maintaining the flow of working fluid to the other of the first and second heat exchangers, if the first temperature differential is less than a threshold at the first time.
 19. The method of claim 17: wherein the second heat exchanger is positioned downstream of the first computer module compartment in the air flow path, and wherein reducing the flow of working fluid to one of the first and second heat exchangers if the first temperature differential is greater than a threshold at the first time includes reducing the flow of working fluid to the second heat exchanger while maintaining the flow of working fluid to the first heat exchanger.
 20. The method of claim 17: wherein the first heat exchanger is positioned upstream of the first computer module compartment in the air flow path, wherein second heat exchanger is positioned downstream of the first computer module compartment in the air flow path, wherein reducing the flow of working fluid to one of the first and second heat exchangers if the first temperature differential is greater than a threshold at the first time includes reducing the flow of working fluid to the second heat exchanger while maintaining the flow of working fluid to the first heat exchanger, and wherein reducing the flow of working fluid to the other of the first and second heat exchangers if the second temperature differential is greater than the threshold at the second time includes reducing the flow of working fluid to the first heat exchanger.
 21. The method of claim 17 wherein reducing the flow of working fluid to at least one of the first and second heat exchangers includes modulating the flow of working fluid.
 22. The method of claim 17 wherein determining the first and second temperature differentials include calculating the first and second temperature differentials at the first and second times, respectively, according to the following formula: ΔT=T _(IN) −T _(OUT) where ΔT is the temperature differential, T_(IN) is the air temperature at the air inlet, and T_(OUT) is the air temperature at the air outlet.
 23. The method of claim 17 wherein the first computer module compartment holds the plurality of computer modules in an edgewise orientation with respect to the air flow path through the computer cabinet. 